[TRACIER - DO NO MERGE] feat: scenario tests for nightly CI runs#72
[TRACIER - DO NO MERGE] feat: scenario tests for nightly CI runs#72redpanda-f wants to merge 62 commits intomainfrom
Conversation
scenarios/test_caching_subsystem.py
Outdated
|
|
||
| if not py or py == "": | ||
| info(f"Installing custom python version {PYTHON_VERSION}") | ||
| info(sh(f"npm i --global --silent @bjia56/portable-python-{PYTHON_VERSION}")) |
There was a problem hiding this comment.
hah what? installing python via npm? pyception. Let' not do this; setup the container's environment in the action, don't install system tools in the test itself
There was a problem hiding this comment.
This is very weird indeed. But ycql needs very specific python interpreter and does not like python version that was on my machine (too high of a semver according to it). If we setup the container environment to match python version required here, we are constraining the entire run due to this, and eventually this knowledge may be lost down the line.
Issue here is that we want "scenarios isolation", and portably python seems to me the right way. Agreed, python via npm is not the best. Do you have better alternatives?
There was a problem hiding this comment.
added new script, and removed setup in scenarios.
| _fail += 1 | ||
| sys.exit(1) |
There was a problem hiding this comment.
eh, I don't think _fail incrementing here is very helpful, do we want to print it maybe?
|
cc @rvagg this action run is a classic case of when "frontier" foc-devnet does not really support "stability" anymore. Till now, I have no good answers for here, apart from doing quite complicated foc-devnet versioning. Would like your opinion referece actions run: https://github.com/FilOzone/foc-devnet/actions/runs/22837909291/job/66237925146?pr=72 |
Co-authored-by: Rod Vagg <rod@vagg.org>
That is scenario specific property, not a property for overall foc-devnet. Logs for the specific scenario has that introduced. ref: foc-devnet/scenarios/test_storage_e2e.py Lines 55 to 56 in 8692af2
Removed
yup, Lines 74 to 78 in f610d13
Introduced, should be available from next runs. ref: Lines 309 to 321 in 8692af2
This is trickier from what I could gather. This needs us to have exact introspective knowledge of where we are in terms of loglines wrt github logging. I think Job link should be enough to navigate. |
yes, added
Many sub items have been raised into separate PRs
Yup, see 0b5816f |
|
@redpanda-f : a couple things
|
Summary
NOTE: THIS PR IS IN DRAFT SINCE IT IS ALMOST ENTIRELY DECOMPOSED INTO SMALLER PRs
Introduces:
latesttaglocation type for foc-devnet dependentes,Reviewers may want to look at following Pull Requests for smaller, discrete additions, one at a time:
Base PRs:
Linear, interdependent PRs, to finish up:
Testing infra
run.pyis a "core", shared testing infrastructure for error reportings and utility functions.scenarios/test_containers.py— verifies all expected Docker containers are running.scenarios/test_basic_balances.py— checks Lotus wallet and FEVM account balances.scenarios/test_storage_e2e.py— end-to-end storage scenario against the live devnet.scenarios/test_caching_subsystem.py— validates the caching subsystem via CQL in curio.CI Fixes
ci.ymlis now:ci_run.yml: The core "meat" of the tasks executionci_pull_request.ymlis triggered for all PRs raised towardsmainci_nightly.ymlis triggered as cron (foc-devnet/.github/workflows/ci_nightly.yml
Lines 16 to 17 in fe48197
frontier: Tests for whatever commits are latest on dependent curio, filecoin-services, lotus is locked at latest tag.stability: Tests for whatever latest tags are marked on dependent curio, filecoin-services, lotus is locked at latest tag.scenarios-run-frontierscenarios-run-stabilityfoc-devnet/.github/workflows/ci_nightly.yml
Lines 36 to 43 in fe48197
--noterminalFlag forversionCommand--noterminalboolean flag tofoc-devnet version.scenario reporters.
Bug Fixes & Dependency Updates
deploy-all-warm-storage.shtowarm-storage-deploy-all.shto match the upstream rename infilecoin-services.--advertise_address=0.0.0.0flag that caused address-bindingconflicts.
ycql_portfield toYugabyteInfoand populated itfrom the step context, exposing the CQL port (9042) to consumers of
devnet-info.json.v1.34.4-rc1→v1.35.04d53c80...→e109aec7...2b247916...→c79e2c6b...Linting Infrastructure
scripts/lint.sh— unified linter runningcargo fmt,cargo clippy, andblackin either check mode (
FIX=0) or auto-fix mode (FIX=1).scripts/install_precommit_hooks.sh— installs a git pre-commit hook that callslint.shbefore each commit; supports git worktrees..gitignoreto exclude__pycache__/directories and.githooks/.Pre-merge checklist:
scenario-run-*as labelfoc-devnet/.github/workflows/ci_nightly.yml
Lines 13 to 14 in c477672
Post-merge checklist: